package com.alibaba.shopping_common.service;


import com.alibaba.shopping_common.pojo.Goods;
import com.alibaba.shopping_common.pojo.GoodsDesc;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * 商品服务
 */
public interface GoodsService {

    /**
     * 新增商品
     * @param goods
     */
    void add(Goods goods);

    /**
     * 修改商品
     * @param goods
     */
    void update(Goods goods);

    /**
     * 根据ID查询商品数据
     * @param id
     * @return
     */
    Goods findById(Long id);

    /**
     * 上架/下架商品
     * @param id
     * @param isMarketable
     */
    void putAway(Long id,Boolean isMarketable);

    /**
     * 分页查询
     * @param goods 查询条件
     * @param page 页码
     * @param size 每页条数
     * @return 查询结果
     */
    Page<Goods> search(Goods goods,int page,int size);

    /**
     * 查询所有的商品详情
     * @return
     */
    List<GoodsDesc> findAll();


    /**
     * 根据ID查询商品详情
     * @param id
     * @return
     */
    GoodsDesc findDescById(Long id);

    /**
     * 根据ID删除商品
     * @param id 商品ID
     */
    void delete(Long id);
}
